#include <opencv2/opencv.hpp>
#include <iostream>

int main(int argc, char** argv){
    cv::Mat m = cv::imread(argv[1]);
    if (m.empty()) {
        std::cout << "no image file!";
        return -1;
    }
    // m 和 m2 为同一个Mat的不同表示，数据内容是一致的
    cv::Mat m2(m);
    cv::Mat roi1(m, cv::Rect(5, 10, 20, 30));
    cv::Mat roi2(m, cv::Rect(50, 60, 20, 30));

    cv::bitwise_not(roi1, roi1);
    cv::bitwise_not(roi2, roi2);
    cv::imshow("Ori", m);
    cv::imshow("New", m2);


    cv::waitKey();
    return 0;
}